Methods circuits systems and associated computer executable code for localizing and messaging a wireless communication device

ABSTRACT

Disclosed are methods, circuits, systems and associated computer executable code for detecting the presence of a mobile computing device in a specific area. included are means for receiving a message from the mobile device including a coarse location indicator, determining that the received coarse location indicator is in proximity with one or more local (e.g. retailer) stations, and causing at least one of the one or more local stations to transmit a mobile device specific poling signal to the device.

FIELD OF THE INVENTION

The present invention relates to the fields of computing andcommunication. More specifically, the present invention relates tomethods, circuits, systems and associated computer executable code forlocalizing and messaging a wireless communication device.

SUMMARY OF THE INVENTION

The present invention includes methods, circuits, apparatus, devices andsystems for detecting the presence of a communication device. Thepresent invention further includes methods, circuits, systems andassociated computer executable code for localizing and messaging awireless communication device. According to some embodiments, a mobilecommunication device may be localized (i.e. determined to be located) ator near a specification location (e.g. at or near a retailer) based on amultistage process.

According to some embodiments, the multistage process of localizing acommunication device may include: (1) ID based coarse locationestimation, and (2) selective local communication node scanning orpoling (wherein the terms scanning and poling are interchangeable) for atransceiver of the communication device. More specifically, when alocalization server according to some embodiments of the presentinvention receives an indication that a target device is located withincoarse location, the localization server may check a database todetermine whether any associated local communication nodes reside withinthe coarse location. The localization server may trigger some or all ofthe local communication nodes located within coarse location to scan fora transceiver of the target device.

According to further embodiments, one or more local communication nodesmay be associated with a specification location. According to yetfurther embodiments, detection of a transceiver of a communicationdevice by a local communication node associated with a specificationlocation may trigger a message being sent to the communication device,either through the local communication node or through a Client DeviceAccess Network (CDAN) comprised of Access points which can be cellularbase stations, wifi routers/hotspots/ basestations and more. The messagemay be a message selected by, or otherwise related to, the specificationlocation—for example a promotional message, a greeting, a reminder ofdiscount and more.

According to some embodiments, the communication device may includefirst and second transceivers, each with a unique identifier (e.g. MACaddress) and each of a different type adapted to communicate accordingto different communication parameters (e.g. frequencies, encoding,modulation, protocols, etc.). The first transceiver may be adapted tocommunicate with a first type of wireless network (for example,Cellular, satellite, hot spots and more) which may be the CDAN and thesecond transceiver with a second type of wireless network (for exampleWiFi or Bluetooth). According to some embodiments of the presentinvention, detection of the communication device (i.e. the firsttransceiver) within a given coverage area of a wireless network of thefirst type may trigger one or more appliances (e.g. access points)associated with a second wireless network of the second type, locatedwithin the given coverage area, to scan for a transceiver with a MACaddress associated with the second transceiver of the communicationdevice.

According to some embodiments of the present invention, a communicationdevice may download or install an application or a loyalty programmodule which may initiate or cause the communication device to enroll inthe localization server. The enrollment of a communication device mayinclude target device information such as: adding identifiers,parameters, characterizations and information associated with the deviceto the localization server and stored there such as: network identifier,MAC address(es) and more. The different parameters may be correlated toeach other in the server.

According to some embodiments of the present invention, thecommunication device may sense a change in location and transmitlocation estimation information to the localization server. Optionally,location information may only be calculated and/or transmitted if thecommunication device detects a change in location which is above apredefined threshold. The location estimation information may becalculated and/or detected based on CDAN for example: cellularbase-station ID, GPS information, cellular triangulation, Hotspots orother methods of detecting or tracking movement in a communicationdevice.

According to some embodiments of the present invention, when thelocalization server receives location estimation information it mayidentify the device which transmitted the location estimationinformation and retrieve target device information such as the deviceMAC address. The localization server may also retrieve one or morespecification location stations within a proximity to the coarselocation. The localization server may relay target device informationsuch as MAC address(es) to a specification location station which mayinclude a local communication node. The specification location stationmay utilize the received target device information to scan or poll for atarget device. Optionally, a detection of a transceiver of a targetdevice by a local communication node may trigger a message being sent tothe communication device, either through the local communication node orthrough the CDAN.

According to some embodiments of the present invention, thespecification location station may poll the target device. The polingmay be carried out, for example, continuously for a predetermined lengthof time, periodically or intermittently and may be terminated when anacknowledge is received from the target device or after a predeterminedlength of time.

According to some embodiments of the present invention, no-clickcheck-in may be obtained or executed; a subscribed communication devicemay be detected in proximity to a specification location by being in acoarse location that the specification location resides in, whilerefraining from actively initiating polling for the communicationdevice. In accordance with some embodiments of the invention, theno-click check-in may be obtained while the application may not berunning or even open on the background.

According to some embodiments of the present invention, a pushnotification server may receive an acknowledgment that the target devicehas been polled as well as target device information and maysubsequently relay a message to the target device via the localcommunication node or CDAN. The push notification server may storemessages to be relayed to target devices. Optionally, more than onemessage may be stored in association with a specific specificationlocation and additional parameters may designate which of the messagesto send to the target device (for example, the time of day, date,additional target device information and more). In accordance with someembodiments the push notification server may be associated with or inproximity to the localization server, the specification location stationor other.

According to some embodiments of the present invention, thecommunication device may send an acknowledgment when it receives apoling signal and/or when it receives a pushed message. Theacknowledgment may be relayed through the specification location stationor the CDAN to the push notification server, the localization server inorder to: trigger the push notification message being sent, tracking ofpush message transactions, support tallying of target device visits tospecification location, or other functional, system or commercialaspects of some embodiments of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, however, both as to organization and method of operation,together with objects, features, and advantages thereof, may best beunderstood by reference to the following detailed description when readwith the accompanying drawings in which:

FIG. 1A is a diagram illustrating localization of a wireless deviceaccording to embodiments of the present invention;

FIG. 1B there is a diagram illustrating localization of a wirelessdevice according to embodiments of the present invention;

FIG. 1C is a diagram illustrating localization of a wireless deviceaccording to embodiments of the present invention;

FIG. 2 is a diagram illustrating some of the functional elements of anexemplary system for localizing and messaging a wireless communicationdevice in accordance with some embodiments of the present invention;

FIG. 3A is a flow chart including steps of various methods by which asystem for localizing a wireless communication device in accordance withsome embodiments of the present invention may function;

FIG. 3B is a flow chart including steps of various methods by which asystem for messaging a wireless communication device in accordance withsome embodiments of the present invention may function;

FIG. 3C, a flow chart including steps of various methods by whichinitialization of a system for localization and messaging a wirelesscommunication device in accordance with some embodiments of the presentinvention may function; and

FIG. 4 is a block diagram (2000) of a specification location is shown,in accordance with some embodiments of the present invention.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, components and circuitshave not been described in detail so as not to obscure the presentinvention.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions utilizing terms such as “processing”, “computing”,“calculating”, “determining”, or the like, refer to the action and/orprocesses of a computer or computing system, or similar electroniccomputing device, that manipulate and/or transform data represented asphysical, such as electronic, quantities within the computing system'sregisters and/or memories into other data similarly represented asphysical quantities within the computing system's memories, registers orother such information storage, transmission or display devices.

Embodiments of the present invention may include apparatuses forperforming the operations herein. This apparatus may be speciallyconstructed for the desired purposes, or it may comprise a generalpurpose computer selectively activated or reconfigured by a computerprogram stored in the computer. Such a computer program may be stored ina computer readable storage medium, such as, but is not limited to, anytype of disk including floppy disks, optical disks, CD-ROMs,magnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs) electrically programmable read-only memories (EPROMs),electrically erasable and programmable read only memories (EEPROMs),magnetic or optical cards, or any other type of media suitable forstoring electronic instructions, and capable of being coupled to acomputer system bus.

The processes and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct a more specializedapparatus to perform the desired method. The desired structure for avariety of these systems will appear from the description below. Inaddition, embodiments of the present invention are not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings of the inventions as described herein.

It is understood that a specification location may refer to a retailer,business, store, shopping mall, restaurant, entertainment center, movietheatre, cinema complex, airport, bus stop, train station, franchise ora group of franchises or any other place that may have interest orinterest in sending messages associated with that place.

Now turning to FIG. 1A, there is shown a diagram (100) illustratinglocalization of a wireless device according to embodiments of thepresent invention. A wireless device, such as wireless communicationdevice 102 may be associated with a crude location such as target devicecoarse location (TDCL) 104. A specification location within TDCL 104such as Retailer 108 and Retailer 106 may receive a signal, via anetwork such as distributed network 112, to initiate poling for targetdevice 102. Optionally, additional information such as an identifier oftarget device 102 may also be received retailers 108 and 106. Retailers106 and 108 may scan for target device 102 within a coverage area suchas retailer coverage areas (RCA) 118 and 120 (respectively). Retailer106 may detect target device 102 within RCA 118. Thus, an exemplary modeof no-click check-in may be achieved wherein wireless communicationdevice 102 was detected within RCA 118 without a dedicated applicationturned on or running in the background.

According to some embodiments, additional retailers such as retailer110, which are outside, excluded, extraneous, extrinsic or foreign toTarget Device Coarse location 104 may refrain from scanning for targetdevice 102.

According to some embodiments, retailer 106 may detect target device 102within RCA 118 and subsequently may relay information via thedistributed network 112. Detection of target device 102 may causeretailer 108 to conclude poling for target device 102.

Turning now to FIG. 1B, target device there is shown a diagram (200)illustrating localization of a wireless device according to embodimentsof the present invention. It is understood that elements 200-220 aresubstantially similar to elements 100-120 of FIG. 1A in accordance tosome embodiments of the present invention. In this example, retailers206 and 208 are within TDCL 204 and may poll for target device 202within RCA 218 and 220 (accordingly). In this example target device 202is not within RCA 218 or 220, thus retailers 206 and 208 may not detecttarget device 202.

According to some embodiments, retailers 206 and 208 may pole for targetdevice 202 continuously, intermittently or may stop polling after apredetermined length of time, or when target device 202 is no longerdetected within a TDCL in which they reside, or when receiving a signalvia distributed network 212 to conclude poling.

Turning now to FIG. 1C, target device there is shown a diagram (300)illustrating localization of a wireless device according to embodimentsof the present invention. It is understood that elements 300-320 aresubstantially similar to elements 100-120 of FIG. 1A in accordance tosome embodiments of the present invention. In this example, targetdevice 302 may be associated with a crude location such as target devicecoarse location (TDCL) 304. Retailers 310 and 306 may initiate polingfor target device 302 and may scan for target device 302 within acoverage area such as retailer coverage areas (RCA) 322 and 318(respectively). Additional retailers such as retailer 308, which areoutside, excluded, extraneous, extrinsic or foreign to Target DeviceCoarse location 304 may refrain from scanning for target device 302.

Turning now to FIG. 2 is shown a diagram (700) illustrating some of thefunctional elements of an exemplary system for localizing and messaginga wireless communication device in accordance with some embodiments ofthe present invention. A communication device such as target device 702may be associated with a crude location such as TDCL 704. TDCL may bedetermined based on one or more known location estimation algorithmsbased on the specific solutions associated with target device 702.Accordingly, TDCL 704 may be based on Wifi Hotspots, Cellular based, GPSor other depicted by Coarse Location Detection FacilitatingDevices/Systems 705 and may be calculated/derived/ determined at thetarget device or relayed to the target device via a gateway or basestation (not shown). TDCL 704 may be relayed to a localization serversuch as localization and messaging server (LMS) 706.

According to some embodiments of the present invention, LMS 706 mayinclude a controller such as controller 708, a communication module suchas IP network Communication Module (IPNCM) 710 for carrying outcommunication to and from LMS 706, and databases for storinginformation. Some of the databases may include: an identificationdatabase such as Device Identifier Database 712, for storing uniqueidentifiers of communication devices associated with a first type ofnetwork, a secondary identification database such as Device MAC AddressDatabase 714, for storing unique identifiers of communication devicesassociated a second or more type of networks, and a specificationlocation database such as retailer location database 716, for storinggeographical/location information of retailers.

According to some embodiments of the present invention, LMS 706 mayreceive information (which may include a unique identifier, TDCL andmore) from target device 702 via a network such as distributed network720. LMS 706 may compare the received unique identifier to Deviceidentifier Database 712 to determine if target device 702 isstored/enrolled in LMS 706. Furthermore, Device MAC address database 714may retrieve secondary addresses associated with the same target device.LMS may review/go over/scan retailer location database 716 to determinewhich (if any) of the stored/enrolled retailers are located within theTDCL 704.

In our example, in accordance with some embodiments of the invention,two specification location are depicted as residing within TDCL 704:retailer 724 and retailer 722. Accordingly, LMS 706 may relay triggersto the retailers 722 and 724 to scan or pole for target device 702.Retailer 722 may activate one or more poling signals associated with aspecific secondary address, received from device MAC address database714. Retailer 724 may substantially proceed as described above forretailer 722.

In our example, in accordance with some embodiments, Target device 702may be detected by retailer 724 and may acknowledge detection. Inresponse to receipt of acknowledgement or detection retailer 724 maysignal to LMS 706 that target device 702 is within its retailer coveragearea (as described in FIG. 1A-C).

In accordance with some embodiments of the present invention, LMS 706may respond to a confirmation or notification of detection of targetdevice 702 by notifying a push server, such as push notification server750, that a detection has been made. LMS 706 may forward informationsuch as target device unique address associated with a first network andadditional unique address associated with secondary networks, RCA inwhich target device 702 was found, retailer that found target device 702and more. Furthermore, information such as which message/ content of themessage to be sent, compiled statistics (for example: tally of visits toretailer 724), conditional logic and parameters for determining thecontent of the message may either be relayed to or stored on pushnotification server 750.

In accordance with some embodiments, push notification server 750 mayrelay the message to target device 702, this may be executed via theCDAN or anyone of the additional or secondary networks to access targetdevice 702 including activating local nodes associated with retailer724.

In accordance with some embodiments of the present invention, pushnotification server 750 may be functionally associated with LMS 706, orit may be integral or included in LMS 706. Notification server 750 mayfurther be associated with a group of LMS servers and may also receiveinformation and messages to push from systems other than localizationand messaging servers.

In accordance with some embodiments, a push notification server may beassociated with a specification location stations discussed in detailbelow.

Turning now to FIG. 3A, a flow chart (800) including steps of variousmethods by which a system for localizing a wireless communication devicein accordance with some embodiments of the present invention mayfunction. An application running on a target device may sense a changein location (step 802). The application may then transmit coarselocation to a LMS (step 804). The LMS may check for retailers havingmessaging stations (retailer stations) within the coarse location (step806). If the LMS detects such retailers within the coarse location, theLMS may send to the one or more identified/detected retailer stations aMAC address of the target device radio(s) (step 808). The retailerstation may receive a MAC address of the target device radio and maytransmit a MAC based poling signal from a local radio included orassociated with the retailer station (step 810). It is understood withregard to step 808 and step 810, that the MAC address being sent may beseveral MAC addresses associated with the same target device (forexample: Wifi address, Bluetooth address and more) and that the retailermay poll for the target device on several different local radios (forexample, Bluetooth, Wifi or other). The retailer station may receive anacknowledgement from the target device if it is within the retailer'sRCA (step 812). If a target device is detected within the RCA of a givenretailer, the retailer may further transmit to the LMS an indicationthat the target device is within the given retailer's RCA (step 814).

Turning now to FIG. 3B, a flow chart (900) including steps of variousmethods by which a system for messaging a wireless communication devicein accordance with some embodiments of the present invention mayfunction. It is understood that step 914 may be substantially the sameas step 814 of FIG. 3A. and that the steps of flow chart 900 may followsome or all of the steps of flow chart 800. A LMS may check for a uniqueidentifier of the target device (step 916), this may also include uniqueidentifiers associated with secondary networks and the LMS may forwardthe unique identifiers associated with a first or secondary networks toa Push Notification Server, as well as a message associated with theretailer that the target device was found within its RCA (step 918).

Turning now to FIG. 3C, a flow chart (1000) including steps of variousmethods by which initialization of a system for localization andmessaging a wireless communication device in accordance with someembodiments of the present invention may function. A target device maysubscribe to an application or loyalty program for example bydownloading an application for localizing and messaging a communicationdevice (step 1002). Optionally a user may then choose differentconfigurations including enabling no-click check in for example.

The target device may send to an LMS information relating to the devicesuch as unique identifier of first and/or subsequent networks, personalinformation (age, income, home location, work location, hobbies etc),configuration selections (enable no-click check in, selection ofpreferred retailers) and more (step 1004). Upon receipt of theinformation the LMS may store the information in databases (step 1006).The information may be stored in manner to enable withdrawal ofsecondary identifiers, personal information and more when receiving aunique identifier substantially identical to a stored unique identifier.

Turning now to FIG. 4, a block diagram (2000) of a specificationlocation is shown, in accordance with some embodiments of the presentinvention. A specification location such as retailer messaging station(RMS) 2001 may include one or more local communication nodes such asantenna(s) 2006. Antenna(s) 2006 may include different types of radiossuch as Wifi, Bluetooth, GPS, cellular and more. RMS 2001 may receive atrigger to its controller 2002 and cause one or more of antenna(s) 2006to poll for a transceiver of a target device. If a target device isdetected within an RCA of RMS 2001, RMS 2001 may trigger a message to bepushed to the target device.

According to some embodiments of the present invention, RMS 2001 mayalso include an updatable memory module such as memory/database 2004—forstoring information associated with a message to be pushed to polledtargeted devices: for example: content of a message, parameter dependantmessages (how many times has the target device been detected at RMS 2001etc). RMS 2001 may further include a messaging server, such as pushnotification server 2008 for pushing a message to the detected device.The server may be integral or associated with RMS 2001. Furthermore pushnotification server 2008 may utilize antenna(s) (2006) for sending themessage.

1. A Method of targeting digital content to a person based on somephysical location, said method comprising: using a first communicationnetwork to provide coarse localization of an electronic device carriedby the person within an area; use of a fine localization process over asecond communication network to assess proximity between the device andone or more locations within the area; generating, selecting ortransmitting content to be offered to said person through the electronicdevice based on detected proximity
 2. The method of claim 1, whereinallocating resources includes issuing a location related message withcontent intended to motivate the person with the phone to visit or passby the specific location.
 3. The method of claim 2, wherein the messagecontent includes content of a type selected from the group selected: (a)promotional message, (b) a greeting, and (c) a reminder related message.4. The method of claim 1, wherein allocating a resource includestriggering a no-click check-in associated with a specific location.
 5. Amethod of allocating resources to a person within an area includingmultiple locations, said method comprising the steps of: using a firstcommunication network to provide coarse detection within the area thepresence of an electronic device carried by the person; use of a finedetection process over a second communication network to assessproximity between the device and one or more locations within the area;generating a no-click check-in associated with a specific location basedon detected proximity
 6. The method of claim 5, wherein the no-clickcheck-in is triggered at a location closest to the electronic devicecarried by the person.
 7. A system for automatically allocatingresources to a person within an area including multiple locations, saidsystem comprising: a localization module running on a networkedappliance adapted to receive over a first communication network courselocation information from a mobile device carried by the person, andresponsive to receiving said coarse location information to trigger afine localization process to detect proximity between the mobile deviceand one or more locations within the area using a second communicationnetwork; and a resource allocation module, running on either the same oron a secondary network server, and adapted to generat, select, ortransmit to the user resources associated with one or more of thelocations based on detected proximity
 8. The system of claim 7, whereinthe generating, selecting, or transmitting of resources includes issuinga location related message with content intended to motivate the personwith the phone to visit or pass by a location.
 9. The system of claim 8,wherein the message content includes content of a type selected from thegroup selected: (a) promotional message, (b) a greeting, and (c) areminder related message.
 10. The system of claim 7, wherein allocatinga resource includes triggering a no-click check-in associated with alocation.
 11. The method of claim 1, wherein said generating, selecting,or transmitting content is to be provided or transmitted to said personthrough the electronic device based on detected proximity